The present invention relates to resource management systems.
Conventionally, resource management systems manage a variety of resources in the performance of different tasks or jobs among the resources. Typically, a resource management system allocates received jobs to different resources, for example, different computing devices. A job is allocated to one or more of the resources according to resource requirements describing the job included with the submitted job.
One conventional resource management system is shown in FIG. 1. FIG. 1 illustrates a conventional resource management controller (“controller”) 100 that includes a set of resources 102 and a job queue 104. The set of resources 102 typically includes a listing of physical resources to which jobs can be assigned by the controller 100. An input 106 and output 108 allow data to be input and output from the controller 100. Typically, the controller 100 receives a job (or a job specification that may be used to generate a job), which is placed within the job queue 104. When the job reaches an available position in the queue 104 (e.g., at a top of the queue 104), the controller 100 assigns the job to one or more resources based on the requirements of the job. The assigned resources from the resources 102 then process the job.